2025-10-25
Получение навыков работы с планировщиками событий cron и at.
При администрировании часто возникают задачи автоматизации выполнения каких-то одноразовых или регулярных рутинных действий по заданному расписанию (например, резервное копирование, ротация системных журналов и пр.). Для этих целей могут применяться, в частности, служба at (для одноразовых задач) и служба cron (для регулярных задач). Общесистемные файлы конфигурации расписаний запуска службы cron располагаются в /etc/crontab и в файлах каталога /etc/cron.d. Файлы с настройками расписания запуска заданных пользователем задач обычно располагаются в каталоге /var/spool/cron. Демон crond регулярно считывает расписания, загруженные в оперативную память системы, и запускает задачи от имени соответствующего пользователя согласно указанному в расписании времени.
Получаем полномочия администратора. Проверяем статус демона планировщика заданий crond.
Изучаем содержимое общесистемного файла конфигурации планировщика.
Рисунок 3: crontab -l
Проверяем список заданий в личном расписании текущего пользователя. Убеждаемся, что изначально расписание пустое.
Рисунок 4: crontab -e
Открываем личный файл расписания для редактирования. Добавляем задание, которое будет записывать сообщение в системный журнал каждую минуту. Сохраняем изменения.
Рисунок 5: crontab -l
Просматриваем обновлённый список заданий в расписании и убеждаемся, что новая задача добавлена успешно.
Рисунок 6: greb
Через несколько минут проверяем системный журнал, чтобы найти сообщения, записанные нашим заданием, и подтверждаем его регулярное выполнение.
Рисунок 7: crontab -e
Изменяем запись в расписании, настраивая более сложное условие выполнения (например, только по рабочим дням, каждый час в 0 минут).
Снова проверяем актуальный список заданий. Переходим в системный каталог для часовых заданий и создаём там исполняемый скрипт, который также записывает сообщение в журнал.
Рисунок 10: chmod +x
Делаем созданный файл скрипта исполняемым. Переходим в другой системный каталог для заданий и создаём там файл конфигурации с собственным расписанием для задания.
Рисунок 11: eachhour
Расписание для задания: задача запускается каждый час в 11-ую минуту.
Рисунок 12: su -
Получаем полномочия администратора. Проверяем статус демона atd, отвечающего за одноразовые задания.
Планируем одноразовое задание с помощью утилиты at, указав конкретное время выполнения. Задание должно записать сообщение в системный журнал. Проверяем очередь заданий at, чтобы убедиться, что наше задание было успешно запланировано.
Рисунок 14: greb
После наступления указанного времени проверяем системный журнал на наличие запланированного сообщения, подтверждая выполнение задания.
Мы получили навыки работы с планировщиками событий cron и at.